#include "Common.h"

#define LUAPADDR(a) LUAPacket LUAPacket::operator+(a in) { _data << in; return *this; }
#define LUAPADDP(a) LUAPacket LUAPacket::operator+(a* in) { _data << in; return *this; }

/*LUAPADDR(ui32);
LUAPADDR(i32);
LUAPADDR(float);
LUAPADDR(double);
LUAPADDR(ui16);
LUAPADDR(i16);
LUAPADDR(ui8);
LUAPADDR(i8);
LUAPADDP(char);
LUAPADDP(const char);*/

scope LUAPacket::RegisterLUAPacket()
{
	return
		class_<LUAPacket>("LUAPacket")
		.def(constructor<ui32>())
		.def("PushInt", &LUAPacket::PushInt)
		.def("PushString", &LUAPacket::PushString);
		//.def(self + ui32())
		//.def(self + i32())
		//.def(self + float())
		//.def(self + double())
		//.def(self + ui16())
		//.def(self + i16())
		//.def(self + ui8())
		//.def(self + i8());
}